<?php
/**
 + ------------------------------------
 * 企业简介管理 <控制器>
 + ------------------------------------
 * @author ThankPHP
 + ------------------------------------
 */
class EnterpriseaboutAction extends Action {
	/**
	 * 管理所有企业简介
	 */
	public function AdminIndex(){
		EasyACL('Enterpriseabout','AdminIndex',$_SESSION);
		$About = D('Enterpriseabout'); //实例化
		//计算所有的行数
		$count = $About->count('','aid');
		//每页显示数量
		$listRows = 15;
		//需要显示的字段
		$fields = 'aid,enter_id,title,updated';
		import('ORG.Util.Page');
		$p = new Page($count,$listRows);
		$list = $About->xfindall(null,$fields,'aid desc',$p->firstRow.','.$p->listRows);
		$page = $p->show();
		//输出到模板
		$this->assign('Abouts',$list);
		$this->assign('page',$page);
		$this->display();
	}

	/**
	 * 创建企业简介
	 */
	public function AdminCreate(){
		EasyACL('Enterpriseabout','AdminCreate',$_SESSION);
		//如果为POST
		if ($this->isPost()) {
			//输入
			$Input = Input::getInstance();
			$Input->filter('addslashes');
			//数据库操作
			$Enterpriseabout = D('Enterpriseabout');
			//进行查询计算该企业是否已有简介
			//设置查询条件
			import('ORG.Util.HashMap');
			$contions = new HashMap();
			$contions->put('enter_id',array('EQ',$Input->post('enter_id')));
			$Result = $Enterpriseabout->where($contions)->find();
			//判断是否有简介
			if ($Result != FALSE){
				halt('出错喽!~ 该企业已经有了自己的简介~');
			}
			$Enterpriseabout->enter_id = (int)$Input->post('enter_id');
			$Enterpriseabout->title = htmlspecialchars($Input->post('title'));
			$Enterpriseabout->content = $Input->post('content');
			$time = time();
			$Enterpriseabout->created = $time;
			$Enterpriseabout->updated = $time;
			$Re = $Enterpriseabout->add();
			if (!$Re) {
				halt('尝试创建到数据库中失败!');
			}
			$this->redirect('AdminIndex','Enterpriseabout');
		}
		$this->display();
	}

	/**
	 * 修改企业简介
	 */
	public function AdminUpdate(){
		EasyACL('Enterpriseabout','AdminUpdate',$_SESSION);
		
		$Input = Input::getInstance();
		$Input->filter('addslashes');
		
		import('ORG.Util.HashMap');
		$condition = new HashMap();
		//POST提交
		if ($this->isPost()){
			//设置条件，从数据库中获取到要修改的简介并进行修改
			$condition->put('aid',array('EQ',$Input->post('aid')));
			$Enterpriseabout = D('Enterpriseabout');
			$Enterpriseabout->where($condition)->find();
			$Enterpriseabout->enter_id = (int)$Input->post('enter_id');
			$Enterpriseabout->title = htmlspecialchars($Input->post('title'));
			$Enterpriseabout->content = $Input->post('content');
			$Enterpriseabout->updated = time();
			$result = $Enterpriseabout->save();
			if (!$result) {
				halt('尝试修改简介信息失败!');
			}
			$this->redirect('AdminIndex','Enterpriseabout');
		}
		//获取要修改的内容
		//设置查询条件
		$condition->put('aid',array('EQ',$Input->get('aid')));
		
		$Enterpriseabout = D('Enterpriseabout');
		$about = $Enterpriseabout->where($condition)->find();
		
		//设置到模板
		$this->assign('about',$about);
		$this->display();
	}

	/**
	 * 删除简介
	 */
	public function AdminDel(){
		EasyACL('Enterpriseabout','AdminDel',$_SESSION);
		$Enterprise = D('Enterpriseabout');
		$aid = $_POST['aid'];
		$Error = '';
		foreach ($aid as $id){
			//判断是否为数字或数字字符串
			if (!is_numeric($id)){
				$Error .= '尝试删除'.$id.'失败! Not Int <br />';
				continue;
			}
			//提交删除
			$Re = $Enterprise->deleteById($id);
			if (!$Re) {
				$Error .= '尝试删除' . $id . '失败<br />';
			}
		}
		//判断是否有错误
		if (!empty($Error)) {
			halt($Error);
		}
		//跳转
		$this->redirect('AdminIndex','Enterpriseabout');
	}

	/**
	 * 从数据库中模糊查询类似的企业名称
	 * 并赋值到模板文件
	 * @author ThankPHP
	 * @version 0.1
	 */
	public function GetEnterpriseId(){
		EasyACL('Enterpriseabout','GetEnterpriseId',$_SESSION);
		$Input = Input::getInstance();
		$Input->filter('addslashes');
		//设置查询条件
		import('ORG.Util.HashMap');
		$conditions = new HashMap();
		$conditions->put('name',array('like','%'.$Input->post('name').'%'));
		
		$Enterprise = D('enterprise');
		$E = $Enterprise->field('enter_id,name')->where($conditions)->findall();

		//输出到模板文件
		$this->assign('E',$E);
		$this->display();
	}
}
?>